#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
数据库包

包含数据库相关的所有功能：
- connection: 数据库连接和会话管理
- crud: 数据库 CRUD 操作
- base: 基础数据库类

使用 SQLAlchemy 作为 ORM 框架
支持多种数据库后端（SQLite、PostgreSQL、MySQL）

作者: FastAPI 学习项目
创建时间: 2024
"""

# 导入数据库连接相关
from .connection import (
    Base,
    engine,
    SessionLocal,
    get_db,
    init_db,
    create_tables,
    drop_tables,
    check_db_connection,
    get_db_info
)

# 导出所有组件
__all__ = [
    "Base",
    "engine",
    "SessionLocal",
    "get_db",
    "init_db",
    "create_tables",
    "drop_tables",
    "check_db_connection",
    "get_db_info"
]

# 延迟导入 CRUD 操作以避免循环导入
def get_crud_user():
    """获取用户 CRUD 实例"""
    from .crud import crud_user
    return crud_user

def get_crud_item():
    """获取物品 CRUD 实例"""
    from .crud import crud_item
    return crud_item